# @file    : jp_
# @time    : 2025/4/17
# @author  : yongpeng.yao
# @desc    :
import re


def contains_japanese(text):
    """检测文本中是否包含日文字符"""
    # 定义日文字符Unicode范围
    hiragana_range = '\u3040-\u309F'  # 平假名
    katakana_range = '\u30A0-\u30FF'  # 片假名
    japanese_punctuation = '\u3000-\u303F'  # 日文标点符号
    half_width_katakana = '\uFF66-\uFF9F'  # 半角片假名

    # 编译正则表达式
    japanese_pattern = re.compile(
        f'[{hiragana_range}{katakana_range}{japanese_punctuation}{half_width_katakana}]'
    )

    return bool(japanese_pattern.search(text))


def contains_english(text):
    # 使用正则表达式匹配英文字母
    if re.search('[a-zA-Z]', text):
        return True
    else:
        return False


def contains_chinese(text):
    # 使用正则表达式匹配中文字符
    if re.search('[\u4e00-\u9fff]', text):
        return True
    else:
        return False


if __name__ == '__main__':
    # 测试示例
    print(contains_japanese("こんにちは"))  # True (平假名)
    print(contains_japanese("コンニチハ"))  # True (片假名)
    print(contains_japanese("Hello"))  # False
    print(contains_japanese("今日はいい天気です"))  # True (包含日文汉字和假名)
    print(contains_japanese("今日天气怎么样"))  # True (包含日文汉字和假名)
